using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FiresideGatheringPresenceManager")]
	public class FiresideGatheringPresenceManager : MonoClass
	{
		public static int m_maxAutoSubscribedPatrons => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringPresenceManager", "m_maxAutoSubscribedPatrons");

		public static int m_maxSubscribedPatrons => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "FiresideGatheringPresenceManager", "m_maxSubscribedPatrons");

		public List<BnetPlayer> m_updatedPatrons => method_3<Class271<BnetPlayer>>("m_updatedPatrons")?.method_25();

		public int CurrentSubscribedPlayerCount => method_11<int>("get_CurrentSubscribedPlayerCount", Array.Empty<object>());

		public int MaxAutoSubscribedPatrons => method_11<int>("get_MaxAutoSubscribedPatrons", Array.Empty<object>());

		public FiresideGatheringPresenceManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FiresideGatheringPresenceManager(IntPtr address)
			: this(address, "FiresideGatheringPresenceManager")
		{
		}

		public static FiresideGatheringPresenceManager Get()
		{
			return MonoClass.smethod_15<FiresideGatheringPresenceManager>(TritonHs.MainAssemblyPath, "", "FiresideGatheringPresenceManager", "Get", Array.Empty<object>());
		}

		public void ClearSubscribedPatrons()
		{
			method_8("ClearSubscribedPatrons");
		}

		public List<BnetPlayer> GetUpdatedPatrons()
		{
			return method_14<Class271<BnetPlayer>>("GetUpdatedPatrons", Array.Empty<object>())?.method_25();
		}
	}
}
